public class Helper { // Property für Währungsunterteilung, betrifft indent-Funktion: // entweder Hundertstel (cent) oder Tausendstel (melimes) public int currSub = 100; // wrapper Funktion, ruft die Bildschirmausgabe aus der Java-API auf public static String print(String p) { System.out.print(p); return p; } // gibt Array-Werte (int-array) als Kommagetrennten Text zurück public static String arr(int p[]) { int n; String r = ""; for (n = 0; n < p.length; n++) { r += p[n] + ", "; } return r; } // gibt Array-Werte (String-array) als Kommagetrennten Text zurück public static String arr(String p[]) { int n; String r = ""; for (n = 0; n < p.length; n++) { r += p[n] + "\n"; } return r; } // verbreitert einen String durch Hinzufügen von Leerzeichen auf // die angegebene Breite, praktisch für Tabellenausgabe public static String indent(int length, String s) { while ( s.length() < length ) { s = " " + s; } return s; } // ebenfalls Hinzufügen von Leerzeichen, hier für die Ausgabe // von int-Werten public static String indent(int length, int s) { String text = s + ""; while ( text.length() < length ) { text = " " + text; } return text; } // Leerzeichen-Einrückung für double-Werte, hier wird außerdem // die Anzahl der Nachkommastellen beachtet public String indent(int length, double s) { // Vermeidet Gleitkommafehler, // schneidet stellen kleiner als // Cent-Beträge ab s = ( Math.floor(s * currSub) / currSub ); // s = (double)(int)( s * 100 ) / 100; String text = s + ""; // Werte ohne Hundertstel-Stelle erhalten eine Zusätzliche 0 // hinten, z.B. "3.30" if ( (s * currSub) % 10 == 0 ) { text += "0"; } // Das Gleiche für Währungen mit Tausendstel-Stellen if ( (currSub == 1000) && (s * currSub) % 100 == 0 ) { text += "0"; } while ( text.length() < length ) { text = " " + text; } return text; } public int dblIndent = 8; // Indent-Wrapper mit vordefinierter Einrückbreite public String indent(double s) { return indent(dblIndent, s); } /* Property intIndent und stringIndent */ public int intIndent = 6; public int stringIndent = 10; /* indent-Funktionen für int und String */ // Indent-Wrapper mit vordefinierter Einrückbreite public String indent(int value) { return indent(intIndent, value); } // Indent-Wrapper mit vordefinierter Einrückbreite public String indent(String value) { return indent(stringIndent, value); } }